home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / cstdio.arc / SRC.ARC / MSDIR.A < prev    next >
Text File  |  1985-05-17  |  2KB  |  86 lines

  1. ;    msdir.a - MS-DOS directory functions.
  2. ;    (C) Copyright 1984, 1985 Gregory R. Mansfield - All Rights Reserved.
  3. ;    G. R. Mansfield.  84/07/25.
  4. ;    Ver 1.0-5517.
  5.  
  6.  
  7.     include    "include/msdos.ah"
  8.     dseg
  9.     public    errno_
  10.  
  11.     cseg
  12.     public    mscdt_
  13.     public    msfmf_
  14.     public    msfnf_
  15.     public    msmde_
  16.  
  17.  
  18. ;    int mscdt(drive, buf)    /* return text of current directory */
  19. ;    char *buf;
  20. ;    int drive;
  21.  
  22. mscdt_:
  23.     mov    bx,sp
  24.     mov    si,[bx+4]    ; pointer to buffer
  25.     mov    dx,[bx+2]    ; drive
  26.     xor    bx,bx        ; preset no error
  27.     mov    ah,FR_CDT
  28.     int    I_FCN
  29.     jnb    cdt1        ; if no error
  30.     mov    errno_,ax
  31.     dec    bx
  32. cdt1:    xchg    ax,bx
  33.     ret
  34.  
  35.  
  36. ;    int msfmf(name, attr, buf)    /* find match file */
  37. ;    char *name;
  38. ;    int attr;
  39. ;    BYTE *buf;
  40.  
  41. msfmf_:
  42.     mov    bx,sp
  43.     mov    dx,[bx+6]    ; buffer address
  44.     mov    ah,FR_DTA    ; set disk transfer address
  45.     int    I_FCN
  46.     mov    cx,[bx+4]    ; attributes
  47.     mov    dx,[bx+2]    ; pointer to path name
  48.     xor    bx,bx        ; preset no error
  49.     mov    ah,FR_FMF    ; find match file
  50.     int    I_FCN
  51.     jnb    fmf1        ; if no error
  52.     mov    errno_,ax
  53.     dec    bx
  54. fmf1:    xchg    ax,bx
  55.     ret
  56.  
  57.  
  58. ;    int msfnf()    /* find next matching file */
  59.  
  60. msfnf_:
  61.     xor    bx,bx        ; preset no error
  62.     mov    ah,FR_FNF    ; step through directory matching files
  63.     int    I_FCN
  64.     jnb    fnf1        ; if no error
  65.     mov    errno_,ax
  66.     dec    bx
  67. fnf1:    xchg    ax,bx
  68.     ret
  69.  
  70.  
  71. ;    int msmde(source, dest)    /* move directory entry */
  72. ;    char *source, *dest)
  73.  
  74. msmde_:
  75.     mov    bx,sp
  76.     mov    di,[bx+4]    ; pointer to new pathname
  77.     mov    dx,[bx+2]    ; pointer to existing pathname
  78.     xor    bx,bx        ; preset no error
  79.     mov    ah,FR_MDE
  80.     int    I_FCN
  81.     jnb    mde1        ; if no error
  82.     mov    errno_,ax
  83.     dec    bx
  84. mde1:    xchg    ax,bx
  85.     ret
  86.